# -*- coding: utf-8 -*-
from datos_taxonomicos.models import  Dato
from django.core import urlresolvers
from django.db import models
from easy_thumbnails.fields import ThumbnailerImageField
from lineas_de_investigacion.models import LineaInvestigacion
from localidades.models import Pais
from userena.models import upload_to_mugshot
import settings as settings

MUGSHOT_SETTINGS = {'size': (settings.CONTENIDOS_MUGSHOT_SIZE,
                                 settings.CONTENIDOS_MUGSHOT_SIZE),
                        'crop': settings.CONTENIDOS_MUGSHOT_CROP_TYPE}

TIPO_DE_INSTITUCION_CHOICES = (
    ('FU', 'Fundación'),
    ('ON', 'Organización no gubernamental'),
    ('OP', 'Organismo público'),
    ('AG', 'Agencia gubernamental'),
    ('OI', 'Organismo internacional'),
    ('AI', 'Agencia intergubernamental'),
    ('AP', 'Asociación profesional'),
)

class Institucion(models.Model):
    nombre = models.CharField(max_length=50,verbose_name='*Nombre de la Institución')
    email = models.EmailField(verbose_name='*Email de Contacto')
    descripcion = models.TextField(blank=True,null=True,verbose_name='Breve Descripción')
    paginaweb = models.URLField(blank=True,null=True,verbose_name='Sitio Web')
    tipo = models.CharField(max_length=2, choices=TIPO_DE_INSTITUCION_CHOICES,blank=True,null=True,verbose_name='Tipo de institución')
    #relacion con Experto, muchos expertos. En experto
    #relacion con Localidad, una localidad (siempre que sea solo pais sede, por ejemplo)
    pais = models.ForeignKey(Pais,blank=True,null=True,verbose_name = 'País')
    #relacion con Linea de investigacion, muchas lineas de investigacion.
    lineas_de_investigacion = models.ManyToManyField(LineaInvestigacion,blank=True,null=True)
    #relacion con Experto, un creador
    creador = models.ForeignKey('expertos.Experto',blank=True,null=True)
    #relacion con DatoTaxonomico, puede ser especie, familia, orden, etc.
    dato = models.ManyToManyField(Dato,blank=True,null=True,verbose_name = 'Datos Taxómicos Asociados')
    
    logo = ThumbnailerImageField(upload_to='logos', blank=True)
    
    #relacion con Proyecto, muchos proyectos. En proyecto
    def get_absolute_url(self):
        return urlresolvers.reverse('instituciones:institucion_update', args=(self.pk,))

    def __unicode__(self):
        return self.nombre
    
    
    
    def referencia_al_link(self):
        return '/instituciones/' + str(self.id)
    
    def en_detalle_html(self):
        datosMostrar = [
                 u'Nombre: %s' % self.nombre,
                 u'Email de Contacto: %s' % self.email,
                 ]
        if self.descripcion:
            datosMostrar.append(u'Breve Descripción : %s' % self.descripcion )
        return datosMostrar
    
